1.2.9 更多复制
给定五个1位信号(a, b, c, d, 和 e),计算所有25对一比特比较,并在一个25位的输出向量中表示结果。当被比较的两个比特相等时,输出应为1。
out[24] = ~a ^ a; // 因为a与自身比较总是相等的,所以输出位[24]始终为1。
out[23] = ~a ^ b;
out[22] = ~a ^ c;
...
out[ 1] = ~e ^ d;
out[ 0] = ~e ^ e;
);
如图所示,利用重复(replication)和连接(concatenation)操作符可以更简便地完成这一任务。
- 顶部向量是每个输入信号重复5次的连接;
- 底部向量是5个输入信号串联后整体再重复5次的结果。
模块声明
module top_module (
input a, b, c, d, e,
output [24:0] out );